package com.example.c94s3plyhyfc.web;

import com.example.c94s3plyhyfc.bean.Bbs;
import com.example.c94s3plyhyfc.mapper.BbsMapper;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;

import javax.annotation.Resource;
import java.util.List;
import java.util.Map;

@Controller
public class IndexAction {

    @Resource
    BbsMapper bm;

    @GetMapping("bbs_show")
    public String toBbsShow(int id, Model model){
        /**
         * 返回值: 视图名  =>  请求转发到目标页面
         * SpringMVC 会自动的拼接 前后缀
         * classpath:/templates/bbs_show.html
         * file:/d:/a/bbs_show.html
         */

        /**
         * 向页面推送数据可以使用的对象
         *  1. ModelAndView
         *  2. Model ==> 请求对象的属性集合
         *  3. Map 集合
         */

        Bbs bbs = bm.selectById(id);
        // 添加数据到 model 中
        model.addAttribute("bbs", bbs);
        return "bbs_show";
    }

    @GetMapping(path={"/","index","home","index.html"})
    public String index(Map<String,Object> map){
        /**
         * @Controller 定义的控制器, 内部方法返回值是视图名, 不是json
         */
        PageHelper.startPage(1, 16);
        List<Bbs> list = bm.selectByObj(null);
        // PageInfo pi = new PageInfo(list);  ==> json 必须
        System.out.println(list);
        map.put("list", list);
        return "index";
    }
}
